Mario 64 Object Block Data (From RAM)
Unfinished Doc by HyperHacker
Assumed block size = 607 bytes

Data sample - First Goomba, L1
Starts at: 803401A0
Ends at: 803403FF

code:
803401A0: 3F 80 00 00 80 10 BF EE 00 18 00 21 80 33 FF 48  000...015
803401B0: 80 34 04 08 80 38 BD 88 00 00 00 00 80 18 D2 2C  016...031
803401C0: 01 01 00 00 BA 00 00 00 C5 30 C0 98 43 04 65 A6  032...047
803401D0: 45 A7 F7 D0 3F C0 00 00 3F C0 00 00 3F C0 00 00  048...063
803401E0: 00 00 00 00 80 18 0F 24 00 0D 09 92 00 0D 00 00  064...079
803401F0: 00 01 00 00 00 00 00 00 00 00 00 00 44 DF 6A 78  080...095
80340200: 44 04 53 72 C5 85 EC FC 80 34 04 08 80 33 CD E8  096...111
80340210: 80 34 01 A8 00 00 00 00 00 00 00 00 01 01 00 00  112...127
80340220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  128...143
80340230: 00 00 00 00 40 00 20 49 00 00 00 00 00 00 00 00  144...159
80340240: 00 00 00 00 00 00 00 00 C5 30 C0 98 43 04 65 A6  160...175
80340250: 45 A7 F7 D0 BF FC BA 6C 3F AA AA AA BE 96 35 39  176...191
80340260: 3F FF 80 BA 00 00 00 00 00 00 00 00 00 00 00 00  192...207
80340270: FF FF BA 00 00 00 00 00 00 00 00 00 FF FF BA 00  208...223
80340280: 00 00 00 00 00 00 00 00 00 00 00 00 C0 80 00 00  224...239
80340290: 43 04 65 A6 00 00 00 02 00 00 00 00 00 00 00 00  240...255
803402A0: 3F C0 00 00 00 00 00 92 FF FF BA 00 00 00 00 21  256...271
803402B0: 00 00 00 00 3F AA AA AB 00 00 00 00 00 00 00 00  272...
803402C0: 00 00 00 00 00 00 00 00 08 01 DA 4C 00 00 00 00
803402D0: 42 20 00 00 41 20 00 00 00 00 80 00 00 00 00 00
803402E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
803402F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 2F
80340300: BF 00 00 00 46 9C 40 00 FF FF CB 51 C5 29 90 00
80340310: 43 18 14 80 45 B4 90 00 41 20 00 00 00 00 00 00
80340320: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
80340330: 00 00 00 00 00 00 00 00 00 00 00 00 44 7A 00 00
80340340: 00 00 00 01 45 7A 00 00 FF FF FF FF 00 00 00 00
80340350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80340360: 00 29 00 00 00 00 00 00 80 1A 8C B0 50 60 B0 81
80340370: 00 00 00 00 80 0E F8 E4 00 00 00 01 80 0E F8 E4
80340380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80340390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
803403A0: 42 D8 00 00 42 96 00 00 42 7C 00 00 42 70 00 00
803403B0: 00 00 00 00 80 0E F8 AC 00 00 00 00 00 00 00 00
803403C0: 00 00 00 00 3F 80 00 00 00 00 00 00 00 00 00 00
803403D0: 00 00 00 00 00 00 00 00 3F 80 00 00 00 00 00 00
803403E0: 00 00 00 00 00 00 00 00 00 00 00 00 3F 80 00 00
803403F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


(Code tag is so it doesn't page-wrap)

BLOCK FORMAT
Blanks are unknown. (?) means it has only been tested with one type of object, or is not fully understood.
Bytes Description
001 - 027
028 - 031 Image Pointer (?)
032 - 032 Is Object Visible? 1=Yes 0=No
033 - 051
052 - 055 X Size
056 - 059 Y Size
060 - 063 Z Size
064 - 124
125 - 125 Does Object Exist? 1=Yes 0=No (See note 1)
126 - 126
127 - 127 Is Active?? (Only for teleporters, etc) (?)
128 - 149
150 - 150 ??? (See note 2)
151 - 151 Does Rotate? (Only for Stars, possibly coins) (?)
152 - 167
168 - 171 X Coordinates
172 - 175 Y Coordinates
176 - 179 Z Coordinates
180 - 209
210 - 211 Vertical Rotation (?)
212 - 221
222 - 223 Vertical Rotation Clone? (?) (See note 3)
224 - 250
251 - 251 Type (only for ! blocks, boxes, etc) (?)
252 - 255
256 - 259 Universal Size???
260 - 275
276 - 279 Speed
280 - 342
343 - 343 Action? (?)
344 - 351
352 - 353 ??? Jump Something? (See note 4)
354 - 355
356 - 359 ??? (?)
360 - 371
372 - 375 ??? (?) (See note 5)
376 - 393
394 - 395 Cash Value (only for Coins)/Damage Taken On Contact (Byte 395 only, unsigned) (?)
400 - 400 Star # (Only for Stars, obviously) (?)
401 - 406
407 - 407 Action Clone? (?) (See note 6)
408 - 411
412 - 413 Clipping??? (?) (See note 7)
414 - 415
416 - 419 Cash Held (See note 8)
420 - 421 Disappear Distance (Normally 457A, greater values = farther)
422 - 467
468 - 471 Stat Pointer? (?)
472 - 475
476 - 479 Object Type (Pointer)? (?)
480 - 607

Notes:
1. If you set the "Does Object Exist" byte (#125) to zero, it will not reappear unless you leave the area and return! I'm still checking out why.
2. The default value is 20h. If you change it to 1Fh or 22h, the object disappears. If you set it back to 20h, it pops out of the ground! Seems like a coordinate code, but how could 1Fh and 22h both be lower points than 20h?
3. This always seems to match the value of bytes 210 to 211 (Vertical Rotation). If you change it, it changes back! If you change the Vertical Rotation, this changes too!
4. I only tried this on Goombas. The default value is BF00. Set it to C000 and they'll start jumping, higher with each bounce!
5. Whatever this does, I seem to have lost my description.
6. This always seems to match the value at byte 343 (Action). If changed, it changes back. I tried using a code to write the value 07 to it constantly (on a Whomp in level 2), and when it jumped it'd just fly away!
7. This seems like a clipping field size for the Y coordinate, but there's something funky about it. The default value is always 447A. 407A removes all clipping, and 437A removes clipping for the top half. But by that logic, 487A should create an invisible barrier above the object, but it doesn't!
8. If using this on a Whomp, you can set it to anything from 0 (00000000h) to 2,147,483,647 (7FFFFFFFh). Any higher wields negative values resulting in no money. It's safe no matter how high it goes because you can only get one coin at a time by jumping on their backs and not pounding. But don't use anything higher than 40 (28h) on any object with which all the coins come out at once (IE a Goomba, box, etc), as the game won't be able to handle a lot of coins! 40 actually slows it down sometimes so I would stop there. If you have 2 objects with a lot of coins that spit them all out at once, you should probably only break one at a time and wait for all the coins to disappear (or get them) before breaking another.
